Viceradkove memo pres SQL

Otázka od: Karel Pecinka

24. 4. 2004 10:35

Zdravim,
 
nevite prosim nekdo, jak ulozit obsah viceradkoveho mema do databaze
pres SQL dotaz? Existuje nejaky znak, kterym bych mohl nahradit Enter
tak, aby to potom Interbase zpet prelozil jako Enter?
 
Diky za odpoved.
 
Karel
D5, IB6


Odpovedá: Jakub Dusek

24. 4. 2004 10:33

Pouzit parametry SQL prikazu, misto primeho vkladani dat do nej:

Query1.SQL.Text := 'INSERT INTO table (memo) VALUES (:memo)';
Query1.ParamByName('memo') := 'Line 1' + sLineBreak + 'Line 2';

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
     => Sms GateKeeper, Sms GateKeeper Service

======================================================================
Saturday, April 24, 2004, 11:13:35 AM, you wrote:

KP> Zdravim,
 
KP> nevite prosim nekdo, jak ulozit obsah viceradkoveho mema do databaze
KP> pres SQL dotaz? Existuje nejaky znak, kterym bych mohl nahradit Enter
KP> tak, aby to potom Interbase zpet prelozil jako Enter?
 
KP> Diky za odpoved.
 
KP> Karel
KP> D5, IB6



Odpovedá: Karel Pecinka

24. 4. 2004 10:53

To bohuzel nemuzu protoze musim pouzit SQL prikaz. Prikaz totiz odesilam
v souboru pres FTP na vzdaleny soubor, kde mi jej dalsi program zpracuje
a vrati odpoved. Pokud je memo jednoradkove, vse funguje bez problemu,
ja vsak potrebuju vlozit nekolikaradkovou poznamku.

Nevite jak na to?

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
Behalf Of Jakub Dusek
Sent: Saturday, April 24, 2004 11:30 AM
To: delphi-l@clexpert.cz
Subject: Re: Viceradkove memo pres SQL


Pouzit parametry SQL prikazu, misto primeho vkladani dat do nej:

Query1.SQL.Text := 'INSERT INTO table (memo) VALUES (:memo)';
Query1.ParamByName('memo') := 'Line 1' + sLineBreak + 'Line 2';

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
     => Sms GateKeeper, Sms GateKeeper Service

======================================================================
Saturday, April 24, 2004, 11:13:35 AM, you wrote:

KP> Zdravim,
 
KP> nevite prosim nekdo, jak ulozit obsah viceradkoveho mema do databaze

KP> pres SQL dotaz? Existuje nejaky znak, kterym bych mohl nahradit
KP> Enter tak, aby to potom Interbase zpet prelozil jako Enter?
 
KP> Diky za odpoved.
 
KP> Karel
KP> D5, IB6




Odpovedá: Jakub Dusek

24. 4. 2004 11:14

Napadaji me 2 moznosti:

1) posilat to ve vice souborech:
Insert.sql: INSERT INTO table (memo1, memo2) VALUES (:param1, :param2)
Param1.prm: Text 1
Param2.prm: Text 2

Na serveru se zpracuje Insert.sql, hodnoty parametru se dotahnou podle
nazvu parametru z dalsich souboru.

2) jinak je potreba resit nejen viceradkovy text, ale i treba
apostrofy... Apostrofy se resi zdvojenim, novy radek se vyresi v
podstate sam (aspon u me, viz. priklad), ale bez parametru v tom muzou
vzniknout dalsi problemy, nejspis bych to hledal v nejake norme, kde
bude popsano jak se chovat ke specialnim znakum v SQL. Parametry od
tohohle uzivatele odstinuji, takze bych volil variantu podobnou
variante 1).

INSERT INTO table (memo) VALUES ('It''s line 1
It''s line 2')

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
     => Sms GateKeeper, Sms GateKeeper Service

======================================================================
Saturday, April 24, 2004, 11:41:39 AM, you wrote:

KP> To bohuzel nemuzu protoze musim pouzit SQL prikaz. Prikaz totiz odesilam
KP> v souboru pres FTP na vzdaleny soubor, kde mi jej dalsi program zpracuje
KP> a vrati odpoved. Pokud je memo jednoradkove, vse funguje bez problemu,
KP> ja vsak potrebuju vlozit nekolikaradkovou poznamku.

KP> Nevite jak na to?


Odpovedá: Ludek ZITA

24. 4. 2004 11:53

 On Behalf Of Karel Pecinka

>
> To bohuzel nemuzu protoze musim pouzit SQL prikaz. Prikaz
> totiz odesilam v souboru pres FTP na vzdaleny soubor, kde mi
> jej dalsi program zpracuje a vrati odpoved. Pokud je memo
> jednoradkove, vse funguje bez problemu, ja vsak potrebuju
> vlozit nekolikaradkovou poznamku.
>
> Nevite jak na to?
>
> Query1.SQL.Text := 'INSERT INTO table (memo) VALUES (:memo)';
> Query1.ParamByName('memo') := 'Line 1' + sLineBreak + 'Line 2';

Ahoj.
sLineBreak = #13#10.
Problem bude spise v tom, ze ftp ti prekonverti #13#10 na #10.
Zkontroluj i toto.


Ludek


Odpovedá: Jakub Dusek

24. 4. 2004 12:17

Tohle FTP prekonvertuje jen v textovem modu, v binarnim to zustane
stejne.

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
     => Sms GateKeeper, Sms GateKeeper Service

======================================================================
Saturday, April 24, 2004, 12:33:44 PM, you wrote:

LZ> Ahoj.
LZ> sLineBreak = #13#10.
LZ> Problem bude spise v tom, ze ftp ti prekonverti #13#10 na #10.
LZ> Zkontroluj i toto.


LZ> Ludek


Odpovedá: Petr Brada, uniCODE systems

26. 4. 2004 13:14

Zdravim,

ja memo ukladam pres property stringlistu CommaText - je tam prevedeny obsah
celeho mema do jednoho stringu

Ukladam pres ulozenou proceduru:
     SP1.Parameters[x].Value := memo1.Lines.CommaText
Nacteni z datasetu:
     memo1.Lines.CommaText := DataSet.FieldByName('xy').AsString

Petr Brada


> Zdravim,
>
> nevite prosim nekdo, jak ulozit obsah viceradkoveho mema do databaze
> pres SQL dotaz? Existuje nejaky znak, kterym bych mohl nahradit Enter
> tak, aby to potom Interbase zpet prelozil jako Enter?
>
> Diky za odpoved.
>
> Karel
> D5, IB6
>
>
>


Odpovedá: Jakub Dusek

26. 4. 2004 18:55

Neni to spis property Text?   CommaText vraci radky oddelene carkami.
Jinak puvodni dotaz to bohuzel neresi, musi to pry byt bez parametru,
ciste SQL.

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
     => Sms GateKeeper, Sms GateKeeper Service

======================================================================
Monday, April 26, 2004, 1:21:41 PM, you wrote:

PBus> Zdravim,

PBus> ja memo ukladam pres property stringlistu CommaText - je tam prevedeny
obsah
PBus> celeho mema do jednoho stringu

PBus> Ukladam pres ulozenou proceduru:
PBus> SP1.Parameters[x].Value := memo1.Lines.CommaText
PBus> Nacteni z datasetu:
PBus> memo1.Lines.CommaText := DataSet.FieldByName('xy').AsString

PBus> Petr Brada


Odpovedá: Karel Pecinka

27. 4. 2004 7:14

Uz muzete zastavit debatu na toto tema, protoze jsem to jiz vyresil:
Apostrofy jsem zdvojil a konce radku nahradil vlastnim znakem. Druhy
program na serveru pouze tento znak zpet prekonvertuje na #13#10 a
spusti jej. Muselo to byt na jednom radku protoze se v souboru navic
prenasi vice prikazu a take dalsi parametry a chtel jsem pristupovat
pres property Values. Nyni ale vse funguje bezvadne, jenom jsem hledal
jednodussi reseni, ktere vsak asi neexistuje.

Diky za prispevky.

Karel

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
Behalf Of Jakub Dusek
Sent: Monday, April 26, 2004 7:42 PM
To: delphi-l@clexpert.cz
Subject: Re: Viceradkove memo pres SQL


Neni to spis property Text?   CommaText vraci radky oddelene carkami.
Jinak puvodni dotaz to bohuzel neresi, musi to pry byt bez parametru,
ciste SQL.

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
     => Sms GateKeeper, Sms GateKeeper Service

======================================================================
Monday, April 26, 2004, 1:21:41 PM, you wrote:

PBus> Zdravim,

PBus> ja memo ukladam pres property stringlistu CommaText - je tam
PBus> prevedeny obsah celeho mema do jednoho stringu

PBus> Ukladam pres ulozenou proceduru:
PBus> SP1.Parameters[x].Value := memo1.Lines.CommaText Nacteni z
PBus> datasetu:
PBus> memo1.Lines.CommaText := DataSet.FieldByName('xy').AsString

PBus> Petr Brada